home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Nibble Volume 09, No. 11 (1988-11)(MicroSPARC)(Side B).zip
/
Nibble Volume 09, No. 11 (1988-11)(MicroSPARC)(Side B).do
/
GSTIME.S
< prev
next >
Wrap
Text File
|
1996-12-24
|
2KB
|
57 lines
********************************
* GSTIME Source Code *
* By Paul MacMillan *
* Copyright(c) 1988 *
* MicroSPARC, Inc. *
* Concord, MA 01742 *
* Assembler: Merlin 16 *
********************************
CHKCOM = $DEBE ;ROM ROUTINES: CHECK COMMA
FINDVAR = $DFE3 ; SET UP POINTERS TO VARIABLE
CNFRMSTR = $DD6C ; CONFIRM ARGUMENT IS STRING
MOVESTR = $E3E9 ; MOVE STRING TO STRING SPACE
MOVEPTR = $DA9A ; FIX POINTERS AFTER MOVE
VARADR = $85 ;POINTER TO STRING DESCRIPTOR
INBUF = $220 ;INPUT BUFFER
ANYWHERE = $300 ;ARBITRARY ORG LOCATION
TOOLBOX = $E10000 ;TOOLBOX
START ORG ANYWHERE
XC ;TELL MERLIN TO ALLOW
XC ; 65816 OPCODES
PARSE JSR CHKCOM ;CONFIRM COMMA FOLLOWS CALL
JSR FINDVAR ;GET POINTER TO VARIABLE
JSR CNFRMSTR ;IS IT A STRING?
STA VARADR ;STORE POINTER
STY VARADR+1
STACK LDA #0 ;PUT POINTER TO BUFFER ON STACK
PHA ; FOR TOOLBOX CALL
PHA
LDA #>INBUF
PHA
LDA #<INBUF
PHA
TOOL CLC ;SET NATIVE MODE
XCE
REP #$30 ;ALLOW 16 BIT REGISTERS AND
MX %00 ; TELL MERLIN ABOUT IT
LDX #$0F03 ;READASCIITIME FUNCTION
JSL TOOLBOX ;MAKE TOOLBOX CALL
SEC ;RETURN TO
XCE ; EMULATION MODE
MX %11 ; AND 8-BIT MERLIN MODE
FIXVAR LDA #<INBUF ;SET UP POINTERS
LDY #>INBUF
LDX #0
STX INBUF+20
JSR MOVESTR ;MOVE STRING TO STRING SPACE
JSR MOVEPTR ; AND FIX POINTERS TO VARIABLE
RTS
CHK ;MERLIN CHK CODE IS E0